//
//  Status.swift
//  微博三天
//
//  Created by jessica on 15/11/14.
//  Copyright © 2015年 jessica. All rights reserved.
//

import UIKit

class Status: NSObject {
    
    
//获取几个属性,在微博开放平台中微博API->微博接口->statuses/home_timeline	获取当前登录用户及其所关注用户的最新微博
    
    //微博创建时间
    var created_at: String?
    //微博ID
    var id : Int = 0
    //微博内容
    var text : String?
    //创建时间
    var client_at : String?
    //创建来源
    var source : String?
    
    //定义用户属性
    
    var user :  User?
    
    //添加网络数据 pic_urls
    
    var pic_urls : [[String : String]]?
 //计算属性
    var imageURLs : [NSURL]?{
    
        guard let urls = pic_urls else {
            
        return nil
        
        }
        var tempArray = [NSURL]()//初始化网络数组
        for item in urls {
        
            let url = NSURL(string : item["thumbnail_pic"]!)
            
            tempArray.append(url!)
        }
    return tempArray
    }
    //计算型属性
    
    var pictureurls :[NSURL]?{
    
        if retweeted_status != nil {
        //发挥转发微博的图片
        return retweeted_status?.imageURLs
        }
        //原创微博的图片
    return imageURLs
    
    }

    //被转发微博的字段
    var retweeted_status : Status?
    
    
    //KVC
    init(dict : [String : AnyObject]) {
        
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    override func setValue(value: AnyObject?, forKey key: String) {
    
        //如果这里没有写完全的话,不显示对应的数据哦!!!
        
        if key == "user" {
        
//            属性初始化
            if let dict = value as?[String : AnyObject]{
            user = User(dict : dict)
            }
            return
        }
        if key == "retweeted_status"{
        
            if let dict  = value as?[String : AnyObject]
            {
            
            retweeted_status = Status(dict: dict)
            
            }
        
            return
        }
        
        //调用
        super.setValue(value, forKey: key)
      
    
    }

    //去除过滤不需要的字段
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }

}
